(function (window, $) {
  // WebAPI 中公共的域名
  var domain = 'http://47.92.6.176:58728/'

  /**
  * 声明了请求的函数
  * url：要请求的 WebAPI 地址（不含域名）
  * type：请求的类型
  * data：请求的传参（可以为 null）
  * success: 请求成功时的回调
  */
  function request(url, type, data, success) {
    $.ajax({
      url: `${domain}${url}`,
      type,
      data,
      success: function(result) {
        if (result.status) {
          success(result.data); // 调用传入的成功回调函数
        } else {
          alert(result.message);
          return;
        }
      }
    })
  }

  /**
  * 加载分类的函数
  * success: 请求成功时的回调
  */
  var loadCategories = function(success) {
    request('api/Category/GetAll', 'get', null, success);
  }

  /**
   * 加载文章的函数
   * categoryId：要加载的文章分类（可以为null）
   * success：请求成功时的回调
   */
  var loadArticles = function(categoryId, success) {
    if (categoryId) {
      // 有分类Id
      request('api/Blog/GetAllByCategory', 'get', {category: categoryId}, success)
    } else {
      // 没有分类Id
      request('api/Blog/GetAll', 'get', null, success)
    }
  }

  /**
   * 登录
   */
  var login = function(data, success) {
    request('api/Account/Login', 'post', data, success)
  }

  var zhuce = function(data, success) {
    request('api/Account/Register', 'post', data, success)
  }

  window.$$ = {
    loadCategories,
    loadArticles,
    login,
    zhuce
  }

})(window, $)